05. Debugging in ROS - roswtf
Debugging with roswtf
Previously, in the EKF Lab Lesson you ran rqt_graph
to visualize the ROS graph corresponding to that package. Here is an example for rqt_graph from the previous 2D SLAM lab.
Often, you will find it useful to diagnose your system when it might not be behaving as you would expect. For such purposes, you can use roswtf
. roswtf
will examine and analyze the setup or the graph above, including any running nodes and environment variables, and warn you about any potential issues or errors.
Here is an output from the running of roswtf
for the SLAM robot.
You can see the output contains 2 warnings - one regarding node subscribers not being connected and one regarding a node that has died. The significant outputs to look for are errors, but roswtf
also outputs helpful warnings. Right now one can see some path related items and localization related items. Since no path generation or localization is going on, it’s okay to ignore these items.
roswtf
performs a lot of checks. For example, it checks if all running nodes are connected and communicating properly, or if any nodes have died. You can explore more such checks here.
Further Resources: roswtf